package _08幸运数;

import java.util.Scanner;

public class _08幸运数2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();
        int n = sc.nextInt();
        int[] a = new int[n];
        for (int i = 0; i < n; i++) {//初始化数组，将2的倍数（位置)的元素删除了的
            a[i] = 2 * i + 1;
        }
        int l = 1;//幸运数的下标
        while (true) {
            int p = l + 1;//数字向前挪的坑位
            for (int i = l + 1; i < n; i++) {
                //1.如果数组元素下标位置i可以整除幸运数，就跳过这个元素不做处理
                //2.否则的话，后面的元素往前挪
                if ((i + 1) % a[l] == 0) {

                } else {//往前挪
                    a[p] = a[i];
                    p++;
                }
                if (a[i] > n) break;
            }
            l++;//每次for循环结束以后,幸运数的下标++
            if (a[l] > n) break;//如果幸运数已经大于n就退出循环
        }

        int ans = 0;//计数
        for (int i = 0; i < n; i++) {
            if (a[i] >= n) break;
            if (a[i] > m) ans++;
        }
        System.out.println(ans);
    }
}
